package com.ruoyi.merchant.service;

import com.ruoyi.merchant.domain.MerchantUser;
import com.ruoyi.merchant.other.dto.ConfirmPaymentDto;
import com.ruoyi.merchant.other.dto.CouponCollectionDto;
import com.ruoyi.merchant.other.dto.CouponQrCodeDto;
import com.ruoyi.merchant.other.vo.MerchantCouponVo;
import com.ruoyi.merchant.other.vo.PlatformCouponVo;

import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 商户端Service接口
 * 
 * @author dongdong
 * @date 2025-10-21
 */
public interface IMerchantAppService {
    /**
     * 商户登录
     */
    MerchantUser login(String username, String password);

    List<PlatformCouponVo> couponList(String search, Long merchantId);

    PlatformCouponVo getCoupon(Long id);

    MerchantCouponVo couponIssueInfo(String orderNo);

    Map<String, String> confirmPayment(ConfirmPaymentDto confirmPaymentDto);

    List<MerchantCouponVo> merchantCouponList(Integer status, Long merchantId);

    void couponQrCode(String orderNo, String amount, HttpServletResponse response) throws Exception;

    String verifyQrCode(String tamp);

    Boolean couponCollection(CouponCollectionDto couponCollectionDto);

    Map<String, Object> createQrCode(CouponQrCodeDto couponQrCodeDto);

    BigDecimal couponIssue(CouponCollectionDto couponCollectionDto);
}
